-
Notifications
You must be signed in to change notification settings - Fork 259
Refactor Data.List.Relation.Binary.Permutation.*
#2317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…Pointwise`; smarter constructors
|
Note to self: typechecking appears not to terminate for Refactored to lift out the lemmas as |
…odule restructuring
|
Stopping here as much of the refactoring of (the properties of |
|
Previously @MatthewDaggitt wrote
Please now consider a possible roadmap as follows:
|
Does this mean the draft status should be removed and this PR reviewed? |
Thanks @MatthewDaggitt for the prompt to return to this. I think the short answer, for the time being, is/ought to be "No":
Sound OK to you? |
|
Yes, sounds reasonable. |
|
@jamesmckinna if you had help (i.e. someone who could follow your directions on how to push this forward), would you be able to continue work on this? |
Thanks for the offer! now that #2726 has been merged, there may be a clearer path to a (more radical) approach, because both versions ( |
WORK IN PROGRESS: do not review!
Of independent interest to the various competing proposals in #2311 for the 'right' representation, as it attempts to decouple the main properties of the relation from any particular notion. In particular, the isolation of the dependencies (and improved implementation UPDATED can't seem to get the syntax declarations to work for the specialised
Propositionalversion ofPermutationReasoning!?) of theReasoningmodule, together with a 'better' smart constructor for transitivity in the current implementation(s), as well as a lot of nitpicky streamlining.NEW: have removed all dependency on well-founded induction on
stepsin favour of a (structurally inductive proof of) better↭-splitlemma which uses the fact thatPermutation RabsorbsPointwise Rsteps providedRisTransitive.Currently in DRAFT, but aims to, and is most of the way towards:
Propositionalas thesetoidinstance ofSetoid, ditto.PropertiesSetoidandSetoid.Propertiesto localise all uses of induction on theHomogeneousrepresentation to properties proved in general inHomogeneous(thereby allowing alternative representations)PropositionaltoSetoidor evenHomogeneous, incl.PointwiseandPermutationlurking offstage...!?Outstanding issues:
syntaxdeclarations for↭-Reasoning(esp. for<<⟨_⟩? see Parsing problems with thePermutationReasoningcombinators inData.List.Relation.Binary.Permutation.Propositional#2319 )Propertiesmodule(s) automatically re-export the corresponding 'Base' module, to avoid having to explicitly import that separately?TODO:
CHANGELOG;-)Propositional(some fiddliness here, plus some deprecation opportunities once things have been suitably generalised) UPDATED onlyremains
HomogeneousintoCore/BaseandProperties(currently a total ⟪casino⟫, esp. wrt dependencies)Setoid.PropertiesintoCore(representation dependent; to be discussed as the best way to achieve such modularisation for (each of) the representation(s)) andPropertiesdepending on that componentEtc. To be continued...